package com.zhy.generator.commons.base;
import org.apache.ibatis.annotations.Param;

import java.io.Serializable;
import java.util.List;
import java.util.Map;

/**
 *  定义了父级的mapper
 * @param <T>
 * @author 粽子
 */
public interface BaseMapper<T> extends Serializable{
    /**
     *  获得数量
     * @param params
     * @return
     */
    Long getAllCount(Map params);

    /**
     *  获取多条信息
     * @param params
     * @return
     */
    List<T> getAll(Map params);

    /**
     *  获取某个信息
     * @param pkid
     * @return
     */
    T getByPkid(@Param("pkid") Long pkid);

    /**
     *  添加某个信息
     * @param data
     * @return
     */
    Long add(T data);

    /**
     * 添加某个信息
     * @param data
     * @return
     */
    Long addBySelective(T data);

    /**
     *  删除某个信息
     * @param data
     * @return
     */
    Long edit(T data);

    /**
     *  删除某个信息
     * @param pkid
     * @return
     */
    Long delByPkId(@Param("pkid") Long pkid);
}
